package com.ds.infra.rpc.annotation;

import org.springframework.stereotype.Component;

import java.lang.annotation.*;

/**
 * 作用：RPC服务提供者注解
 * 标注在服务实现类上，用于注册RPC服务
 *
 * @author WeiShaoying
 * @since 1.0.0
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Component
public @interface RpcService {

    /**
     * 服务接口类（默认为void.class表示自动推断）
     */
    Class<?> serviceInterface() default void.class;

    /**
     * 服务版本号（用于多版本隔离）
     *
     * @return 版本号，默认空字符串
     */
    String version() default "";

    /**
     * 服务分组（预留扩展）
     */
    String group() default "";
}
